Maintaining Structural Invariants in Shape Analysis with Local Reasoning
نویسنده
چکیده
This paper presents a novel shape analysis algorithm with local reasoning that is designed to analyze heap structures with structural invariants, such as doubly-linked lists. The algorithm abstracts and analyzes one single heap cell at a time. In order to maintain the structural invariants, the analysis uses a local heap abstraction that models the sub-heap consisting of one cell and its immediate neighbors. The proposed algorithm can successfully analyze standard doublylinked list manipulations.
منابع مشابه
Maintaining Doubly-Linked List Invariants in Shape Analysis with Local Reasoning
This paper presents a novel shape analysis algorithm with local reasoning that is designed to analyze heap structures with structural invariants, such as doubly-linked lists. The algorithm abstracts and analyzes one single heap cell at a time. In order to maintain the structural invariants, the analysis uses a local heap abstraction that models the sub-heap consisting of one cell and its immedi...
متن کاملCooperative Permissions for Reasoning About Aliased Objects
Maintaining object invariants is notoriously difficult when objects involved in invariants are aliased. Existing approaches achieve soundness in reasoning about object invariants by imposing structural constraints on object graphs, excluding many useful programs from being verified. This paper proposes a novel abstraction, cooperative permissions, for sound reasoning about aliased objects. Coop...
متن کاملEfficiently Inferring Thread Correlations
We present a new analysis for proving properties of finegrained concurrent programs with a shared, mutable, heap in the presence of an unbounded number of objects and threads. The properties we address include memory safety, data structure invariants, partial correctness, and linearizability. Our techniques enable successful verification of programs that were not be handled by previous concurre...
متن کاملRelational Refinement Types for Higher-Order Shape Transformers (Invited Talk)
Understanding, discovering, and proving useful properties of sophisticated data structures are central problems in program verification. A particularly challenging exercise for shape analyses involves reasoning about sophisticated shape transformers that preserve the shape of a data structure (e.g., the data structure skeleton is always maintained as a balanced tree) or the relationship among v...
متن کاملShape Analysis with Structural Invariant Checkers
Developer-supplied data structure specifications are important to shape analyses, as they tell the analysis what information should be tracked in order to obtain the desired shape invariants. We observe that data structure checking code (e.g., used in testing or dynamic analysis) provides shape information that can also be used in static analysis. In this paper, we propose a lightweight, automa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006